
package hhf.services.entities {
	import hhf.services.AbstractServiceResponder;
	import mx.collections.ArrayCollection;
	import flash.utils.ByteArray;
	import flash.utils.getQualifiedClassName;
	import flash.errors.IllegalOperationError;

	[Bindable]
	[Entity]
	public class AbstractDelayedFunction
	{
		public function AbstractDelayedFunction() {
			if(getQualifiedClassName(this) == "AbstractDelayedFunction")
				throw new IllegalOperationError("Class DelayedFunction is abstract and must be implemented in concret class.");

	}
		
		[Basic]
		public var service:String;	
		
		//un String pour la class récup avec getDefinitionByName
		//à la récup on fait un new de ce truc;
		//GG on fait le send avec les parametre
		
		/*
		
		var e:testCall; 
		var str:String = "flexUnitTests.entities.testCall";
		var ssss:Class = getDefinitionByName(str) as Class;
		var qsd:Object  = (new ssss(2) as Object);
		trace(qsd.coucou());
		*/
		
		[Temporal(value="date")]		
		public var transfertDate:Date;
		
		private var _id:int;
		
		[Id(strategy="AUTO")]
		[Column(name="ID")]
		public function get id():int {
			return this._id;
		}
		public function set id(id:int):void {
			this._id = id;
		}
	}
}